package com.example.administrator.newjiajiesong.main.activity.mvp.contract;


import com.example.administrator.newjiajiesong.base.BaseTreeView;
import com.example.administrator.newjiajiesong.main.my.entity.TreeUserEntity;
import com.example.administrator.newjiajiesong.network.ApiCallBack;

/**
 * RegisterContract
 * (๑• . •๑)
 * 类描述:注册界面MVP订约
 * Created by hhh on 2017/4/19 17:44
 */

public class RegisterContract {

    public interface View extends BaseTreeView {
        /**
         * 获取手机号
         *
         * @return 手机号
         */
        String getMobile();

        /**
         * 获取密码
         *
         * @return 密码
         */
        String getPassWord();

        /**
         * 获取确认密码
         *
         * @return 确认密码
         */
        String getSurePassWord();

        /**
         * 获取推荐人学号
         *
         * @return 推荐人学号
         */
        String getStdNo();

        /**
         * 获取验证码
         *
         * @return 验证码
         */
        String getCode();

        /**
         * 设置发送验证码按钮是否可用
         *
         * @param enable 是否可用
         */
        void setCodeBtnEnable(boolean enable);

        /**
         * 设置发送验证码按钮文本内容
         *
         * @param msg 文本内容
         */
        void setCodeBtnText(String msg);
    }

    public interface Presenter {
        /**
         * 注册
         */
        void register();

        /**
         * 发送验证码
         */
        void sendCode();

    }

    public interface Model {

        /**
         * 注册
         *
         * @param mobile   手机号
         * @param password 密码
         * @param stdNo    推荐人学号
         * @param code     验证码
         * @param callBack 回调函数
         */
        void register(String mobile, String password, String stdNo, String code, ApiCallBack<TreeUserEntity> callBack);

        /**
         * 发送验证码
         *
         * @param type     类型
         * @param mobile   手机号
         * @param callBack 回调函数
         */
        void sendCode(int type, String mobile, ApiCallBack callBack);
    }


}